package com.neusoft.chenhanhua.d0922;
/*
 * 3.银行有一个账户。 有两个储户分别向同一个账户存3000元，每次存1000，存3次。每次存完打印账户余额。
 * 问题：该程序是否有安全问题，如果有，如何解决？
 * 
 */
public class Domsi {
	public static void main(String[] args) {
		Runnable ac=new Account();
		Thread td=new Thread(ac,"张三");
		td.start();
		Thread td1=new Thread(ac,"李四");
		td1.start();
	}
	private static class Account implements Runnable {
		int q=0;
		int i=0;
		@Override
		public void run() {
			while (true) {
				synchronized (this) {
				if (i<6) {
					
						q+=1000;
						System.out.println(Thread.currentThread().getName() + ":::"+q);
						i++;
						try {
							notify();
							wait();
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
				} else {
                     break;
				}
				}
				
			}
//			for (int i = 1; i <=3; i++) {
//				synchronized (this) {
//					q+=1000;
//					System.out.println(Thread.currentThread().getName() + ":::"+q);
//					try {
//						notify();
//						wait();
//					} catch (InterruptedException e) {
//						e.printStackTrace();
//					}
//				}
//			}
			
		}
		
	}

}
